#ifndef CSQLITE_H
#define CSQLITE_H
#include <string>
#include"json/value.h"

#include <sqlite3.h>
#include "idatabase.h"
#include <set>
class  CSqLite :IDataBase
{
public:
    explicit CSqLite(std::string strDBFile);
    ~CSqLite();
    //打开一个数据库
    bool open(void) ;

    //关闭数据库
    bool close(void) ;

    //数据库写入
    //parm[in] strSql: sql
    //result :true 成功， false:失败
    bool writeDB(std::string & strSql);

    //数据库读取
    //param[in] strSql：sql 
    //param[in] ReadResult : 读取到的内容
    //result: true 成功, false 失败
    bool readDB(std::string &strSql, Json::Value &ReadResult);

private:
    bool CreatTable(); //创建表

    //获取数据库中的所有表
    //param[in] setTbale :
    bool getAllTable(std::set<std::string>& setTable);
private:
    std::string m_strDB;
    sqlite3* m_phandle; 
};
#endif